package cn.mujiankeji.mbrowser.功能.阅读框.模型

import kotlinx.serialization.Serializable

/**
 * 阅读APP
 */
@Serializable
class 阅读规则JSON {

    // 源URL
    var bookSourceUrl : String ?= null

    // 名称
    var bookSourceName : String ?= null

    // 分组
    var bookSourceGroup : String  ?= null

    // 注释
    var bookSourceComment : String  ?= null


    // 登录URL
    var loginUrl : String ?= null

    // 登录ui
    var loginUi : String ?= null

    // 登录检查JS
    var loginCheckJs : String ?= null

    // 封面解密
    var coverDecodeJS : String ?= null

    // 书籍URL正则
    var bookUrlPattern : String ?= null

    // 请求头
    var header : String ?= null

    // 变量说明
    var variableComment : String ?= null

    // 并发率
    var concurrentRete : String ?= null

    // JS库
    var jsLib : String ?= null


    // -- 发现 -----------------
    var exploreUrl : String  ?= null


    // 正文
    var ruleContent : 阅读规则正文JSON ?= null

    // 详情
    var ruleBookInfo : 阅读规则书籍信息JSON ?= null

    // 搜索
    var ruleSearch : 阅读规则书籍搜索JSON ?= null

    // 发现
    var ruleExplore : 阅读规则发现JSON ?= null

    // 目录
    var ruleToc : 阅读规则目录JSON ?= null

    // -- 状态 ------------------


    // 启用
    var enabled : Boolean = true



}

/**
 *
 */
@Serializable
class 阅读规则正文JSON(){
    // 正文
    var content : String ?= null

    // 下一页
    var nextContentUrl : String ?= null

    // 章节名称规则
    var title : String ?= null
    var ChapterName  : String ?= null

    // WebViewJs
    var webJs : String ?= null

    // 资源正则
    var sourceRegex : String ?= null

    // 替换规则
    var replaceRegex : String ?= null

    // 图片样式
    var imageStyle : String ?= null

    // 图片解密
    var imageDecode : String ?= null

    // 购买操作
    var payAction : String ?= null
}

@Serializable
class 阅读规则书籍信息JSON(){

    // 预处理规则
    var bookInfoInit : String ?= null

    // 书名
    var name : String?=null

    // 作者
    var author : String?=null

    // 分类
    var kind : String?=null

    // 字数
    var wordCount : String?=null

    // 最新章节
    var lastChapter : String?=null

    // 简介
    var intro : String?=null

    // 封面
    var coverUrl : String ?= null

    // 目录URL
    var tocUrl : String ?= null

    // 下载规则
    var downloadUrls : String ?= null



}

@Serializable
class 阅读规则书籍搜索JSON(){
    // 搜索地址
    var url : String ?= null

    // 检验关键词
    var checkKeyWord : String ?= null

    // 书籍列表规则
    var bookList : String ?= null

    // 书名规则
    var name : String ?= null

    // 作者规则
    var author : String ?= null

    // 分类规则
    var kind : String ?= null

    // 字数规则
    var wordCount : String ?= null

    // 最新章节规则
    var lastChapter : String ?= null

    // 简介规则
    var intro : String ?= null

    // 封面规则
    var coverUrl : String ?= null

    // 详情页URL规则
    var bookUrl : String ?= null

}

// ruleExplore
@Serializable
class 阅读规则发现JSON(){

    // 发现地址规则
    var url : String ?= null

    // 书籍列表规则
    var bookList : String ? =null

    // 书名规则
    var name : String ?= null

    // 作者规则
    var author : String ?= null

    // 分类规则
    var kind : String ?= null

    // 字数规则
    var wordCount : String ?= null

    // 最新章节规则
    var lastChapter : String ?= null

    // 简介规则
    var intro : String ?= null

    // 封面规则
    var coverUrl : String ?= null

    // 详情页URL规则
    var bookUrl : String ?= null


}

@Serializable
class 阅读规则目录JSON(){

    // 更新之前JS
    var preUpdateJs : String ?= null

    // 目录列表规则
    var chapterList : String ?= null

    // 章节名称规则
    var ChapterName : String ?= null

    // 章节URL规则
    var ChapterUrl : String ?= null

    // 格式化规则（JS）
    var formatJs : String ?= null

    // Volume标识
    var isVolume : String ?= null

    // 更新时间规则
    var ChapterInfo : String ?= null

    // VIP标识
    var isVip : String ?= null

    // 购买标识
    var isPay : String ? =null

    // 目录下一页规则
    var nextTocUrl : String ?= null


}